<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
           "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<meta name="GENERATOR" content="TtH 3.85">
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
 <style type="text/css"> div.p { margin-top: 7pt;}</style>
 <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
 <style type="text/css"><!--
 td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;}
 td div.comb { margin-top: -0.6ex; margin-bottom: -.6ex;}
 td div.hrcomp { line-height: 0.9; margin-top: -0.8ex; margin-bottom: -1ex;}
 td div.norm {line-height:normal;}
 span.roman {font-family: serif; font-style: normal; font-weight: normal;} 
 span.overacc2 {position: relative;  left: .8em; top: -1.2ex;}
 span.overacc1 {position: relative;  left: .6em; top: -1.2ex;} --></style>


<title> 软件工程第一次作业</title>
 
<h1 align="center">软件工程第一次作业 </h1>

<div class="p"><!----></div>

<h3 align="center">颜开 </h3>

<h3 align="center">2009年 3月 2日</h3>

<div class="p"><!----></div>
 <h2><a name="tth_sEc1">
1</a>&nbsp;&nbsp;软件工程的名词分类</h2>

<center>

<div class="p"><!----></div>
<a name="tth_tAb1">
</a> 
<center>      
<table>
<tr><td align="left">年代 </td><td width="0">软件技术 </td><td width="0">软件过程与管理 </td></tr>
<tr><td align="left">1950s </td><td width="0">machine center application </td><td width="0">SAGE<a href="#tthFtNtAAB" name="tthFrefAAB"><sup>1</sup></a>&nbsp;&nbsp;&nbsp;hardware effciency</td></tr>
<tr><td align="left">1960s </td><td width="0">complier<a href="#tthFtNtAAC" name="tthFrefAAC"><sup>2</sup></a>&nbsp;&nbsp;&nbsp;function
</td><td width="0">cowboy&nbsp;&nbsp;&nbsp;code and fix&nbsp;&nbsp;&nbsp;herolc debugging</td></tr>
<tr><td align="left">1970s </td><td width="0">structured methods&nbsp;&nbsp;&nbsp;formal methods
</td><td width="0">waterfall model&nbsp;&nbsp;&nbsp;formalized top down SP&nbsp;&nbsp;&nbsp;DFD<a href="#tthFtNtAAD" name="tthFrefAAD"><sup>3</sup></a>&nbsp;&nbsp;&nbsp;ERD<a href="#tthFtNtAAE" name="tthFrefAAE"><sup>4</sup></a> </td></tr>
<tr><td align="left">1980s </td><td width="0">object oriented methods&nbsp;&nbsp;&nbsp;reuse&nbsp;&nbsp;&nbsp;test tools&nbsp;&nbsp;&nbsp;SCM tools&nbsp;&nbsp;&nbsp;IPSEs<a href="#tthFtNtAAF" name="tthFrefAAF"><sup>5</sup></a>&nbsp;&nbsp;&nbsp;CASEs<a href="#tthFtNtAAG" name="tthFrefAAG"><sup>6</sup></a>
</td><td width="0">productivity&nbsp;&nbsp;&nbsp;industrial engineering&nbsp;&nbsp;&nbsp;execution support&nbsp;&nbsp;&nbsp;standards&nbsp;&nbsp;&nbsp;CMMs<a href="#tthFtNtAAH" name="tthFrefAAH"><sup>7</sup></a> </td></tr>
<tr><td align="left">1900s </td><td width="0">distributed&nbsp;&nbsp;&nbsp;large scale&nbsp;&nbsp;&nbsp;middleware&nbsp;&nbsp;&nbsp;components&nbsp;&nbsp;&nbsp;CDE&nbsp;&nbsp;&nbsp;COTS&nbsp;&nbsp;&nbsp;reverse engineering&nbsp;&nbsp;&nbsp;design patterns 
</td><td width="0">Agile&nbsp;&nbsp;&nbsp;CMM cultures&nbsp;&nbsp;&nbsp;PSP<a href="#tthFtNtAAI" name="tthFrefAAI"><sup>8</sup></a>&nbsp;&nbsp;&nbsp;TSP<a href="#tthFtNtAAJ" name="tthFrefAAJ"><sup>9</sup></a> &nbsp;&nbsp;&nbsp;CMMI<a href="#tthFtNtABA" name="tthFrefABA"><sup>10</sup></a>&nbsp;&nbsp;&nbsp;RUP<a href="#tthFtNtABB" name="tthFrefABB"><sup>11</sup></a>&nbsp;&nbsp;&nbsp;UML&nbsp;&nbsp;&nbsp;domain engineering &nbsp;&nbsp;&nbsp;open source</td></tr>
<tr><td align="left">2000s </td><td width="0"></td><td width="0">Risk Driven&nbsp;&nbsp;&nbsp;Hybrid Products&nbsp;&nbsp;&nbsp;Model driven&nbsp;&nbsp;&nbsp;service oriented architectures </td></tr>
<tr><td align="left"></td></tr></table>
</center>
<div class="p"><!----></div>
</center>2 

 <h2><a name="tth_sEc2">
2</a>&nbsp;&nbsp;软件工程的理解</h2>

     <h3><a name="tth_sEc2.1">
2.1</a>&nbsp;&nbsp;软件工程的定义</h3>

<div class="p"><!----></div>
<b>&nbsp;&nbsp;</b>
软件工程是：(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护，即将工程化的方法应用于软件。(2)在(1)中所述的方法和研究。

     <h3><a name="tth_sEc2.2">
2.2</a>&nbsp;&nbsp;软件工程的工程性的理解</h3>

<div class="p"><!----></div>
<b>&nbsp;&nbsp;</b>
犹如建筑工程往往重视建筑成本，时间，质量控制，人员的调度，经济效益等等，而不是在意与如何砌砖头，软件工程也是如此。软件工程工程性是指软件工程师们将软件科学，软件技术，软件管理和实践经验应用到实际软件工业中。所以我觉得工程性是科学技术与实际生产之间的桥梁，它更关注如何能更好地生产有实用价值的软件。

     <h3><a name="tth_sEc2.3">
2.3</a>&nbsp;&nbsp;软件工程与编程关系的理解</h3>

<div class="p"><!----></div>
<b>&nbsp;&nbsp;</b>
具体的编程技术是软件过程的一个实现阶段。不同的编程技术可以一定程度体现当时的软件工程思想，比如C体现的结构化思想，smalltalk体现了面向对象，ruby on rails则体现了敏捷的思想。用汇编作敏捷开发显然有些不伦不类。所以我觉得编程与软件工程不是全无关系，编程是软件工程的一个重要组成部分。而软件工程可以使整个项目变的可以调度，质量得以控制，更重要是他使一个软件项目和现实世界（包括使用和开发）联系了起来使软件有了应用价值，更好地造就了软件工业。

<div class="p"><!----></div>
<b>&nbsp;&nbsp;</b>
所以我觉的软件工程是一门指导如何开发软件并于实际应用结合的学科，重点在于开发过程。而编程只是与世隔绝的少量编码与设计。

<hr /><h3>Footnotes:</h3>

<div class="p"><!----></div>
<a name="tthFtNtAAB"></a><a href="#tthFrefAAB"><sup>1</sup></a>SAGE:Semi-Automated Ground Environment
<div class="p"><!----></div>
<a name="tthFtNtAAC"></a><a href="#tthFrefAAC"><sup>2</sup></a>complier can optimizing statements well
<div class="p"><!----></div>
<a name="tthFtNtAAD"></a><a href="#tthFrefAAD"><sup>3</sup></a>DFD:Process modeling
<div class="p"><!----></div>
<a name="tthFtNtAAE"></a><a href="#tthFrefAAE"><sup>4</sup></a>ERD:Data modeling
<div class="p"><!----></div>
<a name="tthFtNtAAF"></a><a href="#tthFrefAAF"><sup>5</sup></a>IPSEs:Integrated Project Support Environment
<div class="p"><!----></div>
<a name="tthFtNtAAG"></a><a href="#tthFrefAAG"><sup>6</sup></a>CASEs:Computer Aided Software Engineering
<div class="p"><!----></div>
<a name="tthFtNtAAH"></a><a href="#tthFrefAAH"><sup>7</sup></a>CMMs:capability maturity model for software
<div class="p"><!----></div>
<a name="tthFtNtAAI"></a><a href="#tthFrefAAI"><sup>8</sup></a>PSP:Personal Software Process
<div class="p"><!----></div>
<a name="tthFtNtAAJ"></a><a href="#tthFrefAAJ"><sup>9</sup></a>TSP:Team Software Process
<div class="p"><!----></div>
<a name="tthFtNtABA"></a><a href="#tthFrefABA"><sup>10</sup></a>capability maturity model for individual
<div class="p"><!----></div>
<a name="tthFtNtABB"></a><a href="#tthFrefABB"><sup>11</sup></a>Rational unified process
<br /><br /><hr /><small>File translated from
T<sub><font size="-1">E</font></sub>X
by <a href="http://hutchinson.belmont.ma.us/tth/">
T<sub><font size="-1">T</font></sub>H</a>,
version 3.85.<br />On  2 Mar 2009, 20:03.</small>
</html>
